草庐IT

AngularJS 控制器

全部标签

javascript - AngularJS - 我的部分 Controller

我有一个模板,它在我的DOM中追加了很多次。contentdoesnotmatter因此Controller被多次验证。这是一个问题,因为如果我在Controller中放置一个观察者theController=function($scope){$scope.$on('myVar',function(){//runonetimeforeachtimethetemplateisrepeated})}关于如何避免这种情况的任何想法?提前致谢。更新好的,我会尽量说得更清楚。也许我有一个表单,它是根据异步请求的响应动态构建的。Controller是这样的:functionformControll

javascript - 在模型更改时触发自定义 AngularJS 表单验证

我有一个自定义验证指令,用于确保两个日期在有效范围内。当用户更改值时该指令工作正常,但是当我通过AJAX加载新的lineItem模型时它不会触发。问题是用户可以在表单中输入无效日期并触发错误,然后加载另一个lineItem。此时,即使表单中的数据有效,表单上也会出现错误消息。如果我尝试使用Angular的内置验证(如required)做同样的事情,验证会触发并适当消失。那么,我需要做什么才能使我的验证触发方式与Angular的触发方式相同?(注意:我在表单属性和Angularv1.1.5上使用novalidate)指令ngApp.directive("validateBefore",f

javascript - AngularJS 过滤器将 html 作为字符串返回

我已经创建了一个AngularJS过滤器来自动从数据中找到的地址创建可点击的链接。过滤器:app.filter('parseUrl',function(){var//URLsstartingwithhttp://,https://,orftp://replacePattern1=/(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim,//URLsstartingwith"www."(without//beforeit,orit'dre-linktheonesdoneabove).replaceP

javascript - 在 AngularJS 应用程序中使用 select2 插件

我在我的AngularJS应用程序中使用select2插件来显示一些实体(标签)的列表。这是我的模板部分:select.ddlTags(ui-select2="select2Options",multiple,ng-model="link.tags")option(ng-repeat="tagintags",value="{{tag.id}}"){{tag.name}}这是我的范围代码的一部分:$scope.select2Options={formatNoMatches:function(term){varmessage='Добавитьтэг"'+term+'"'console.l

javascript - jQuery on click 在控制台中执行时有效,但在页面加载时无效

我在我的页面中使用以下jquery。varj=jQuery.noConflict();j(document).ready(function(){console.log(j("#label_19"));j("#label_19").on("click",function(){alert("Clicked");});});当文档加载时,元素(它是一个复选框)出现在控制台中。但是,当我单击该复选框时,不会引发警报。但是当我复制相同的代码时(如下所示)j("#label_19").on("click",function(){alert("Clicked");});在控制台面板中,然后按运行。现

javascript - 在 Angularjs 中使用多个指令

我遇到需要访问多个指令Controller方法的情况。我可以像这样使用require从父指令访问方法:require:"^parentDirective"但我还需要访问单独指令(不是父指令)中的方法,文档对useanarrayofstrings说像这样:require:["^parentDirective","directiveTwo"]但这样做会导致错误,尽管这两个指令都已编译到DOM中。我是不是漏掉了什么?这是我的指令:angular.module('testModule',['parentModule'],function(){}).directive('testDirectiv

javascript - AngularJS 错误 :Module 'ngResource' is not available! 您拼错了模块名称或忘记加载它

我正在尝试从angularjs进行服务调用。我下载了angularseedproject.并且在view1.js里面写了下面的代码来调用服务:'usestrict';angular.module('myApp.view1',['ngRoute','ngResource']).config(['$routeProvider',function($routeProvider){$routeProvider.when('/view1',{templateUrl:'view1/view1.html',controller:'View1Ctrl'});}]).factory('Entry',['

javascript - TypeError : value. push is not a function with Angularjs $resource 查询

我从服务器返回一个对象数组:[{id:1,name:"name"},{id:2,name:"name2"}]现在我使用angular-resource$query来获取数据,因为它需要一个数组。收到数据后出现此错误:TypeError:value.pushisnotafunction我从server=给出的响应有问题吗?错误来源://jshint+W018if(action.isArray){value.length=0;forEach(data,function(item){if(typeofitem==="object"){value.push(newResource(item))

javascript - 访问 AngularJs 指令 Controller

我在尝试使用jasmine和karmatestrunner进行单元测试的指令访问我的Controller时遇到了一些问题。该指令如下所示:指令angular.module('Common.accountSearch',['ngRoute']).directive('accountSearch',[function(){return{controllerAs:'ctrl',controller:function($scope,$element,$routeParams,$http){this.setAccount=function(){varresponse={AccountId:$sc

javascript - Angular 的 $log.debug() 没有显示在 Chrome 的控制台上

最近我的Chrome浏览器停止在控制台上显示$log.debug()消息。我一直在我的所有Controller上使用这种使用Angular而不是console.log()的日志记录方式,因为当我将脚本上传到生产服务器时很容易禁用日志记录。我已经检查了我的$logProvider配置并且debugEnabled()设置为true。出于某种原因,在chrome上显示$log.debug()消息的唯一方法是在控制台过滤器上启用verbose消息。直到最近,这还没有必要。启用详细信息并不好,因为控制台会吐出许多我不关心的其他消息。我目前在Windows7机器上使用Chromev60.0.311